package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootCupbm;
import org.springframework.ui.Model;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface FootCupbmService extends BaseService<FootCupbm> {
	/**
	 * 根据用户主键查找杯赛报名信息
	 * @param userId
	 * @return
	 */
	FootCupbm findCupbmByUserid(Long userId);
	
	/**
	 * 根据赛季、杯赛类型、杯赛进程获取杯赛报名信息
	 * @param sj
	 * @param type 杯赛类型
	 * @param num 杯赛进程
	 * @return
	 */
	List<FootCupbm> findList(Long sj, boolean type, int num);

	/**
	 * 各种杯赛的计算
	 * @param times 第几次报分
	 */
	void endCupGames(int times, HttpServletRequest request);

	/**
	 * 根据赛季信息报名冠军杯和联盟杯
	 */
	void addTeam2Table(HttpServletRequest request);

	/**
	 * 根据杯赛类型获取当前赛季的第一名
	 * @param type
	 * @return
	 */
	FootCupbm getTop1(boolean type);

	/**
	 * 根据比赛类型和赛季主键获取报名信息列表
	 * @param type 比赛类型
	 * @param sjId 赛季主键
	 * @return 报名信息列表
	 */
	List<FootCupbm> findByTypeAndSj(Boolean type, Long sjId);

    /**
     * 对战
     * @param type 类型
     * @param map 参数
     */
    void bettle(boolean type, Model map);
}